Method of determining the roll angle of a vehicle mounted camera

ABSTRACT

A method of determining the roll angle of a camera mounted on a host vehicle includes:
         a) defining Cartesian axes in the real world and corresponding axes in the camera imager;   b) from an image taken from the camera, determining the co-ordinates of the two points (P1, P2) of the real world, in the imager of the camera ((x I,1, y I,1), (x I,2, y I,2));   c) determining the difference (D) in the coordinates of the points in a horizontal World plane in one axis (Xw,1−Xw,2), using corresponding co-ordinate system as in step b); and   d) determining the roll angle ρ of a camera located on a host vehicle from the following formula       

       ρ=[ D/h −( c   2   /a   2   −c   1   /a   1 )]/[( a   2   d   2   −b   2   c   2 )/ a   2   2 −( a   1   d   1   −b   1   c   1 )/ a   1   2 ],
 
     where a 1  and a 2  are found from the following, where i=1,2 represents the two points (P1, P2): 
         a   i =sin θ* f +cos θ* y   I,i ;
 
         b   i =−cos θ* x   I,i  
 
         c   i =−cos η cos θ* f +sin η* x   I,i +cos η sin θ* y   I,I  
 
         d   i =−cos η sin θ* x   I,i +sin η* y   I,i  
         where for θ is the known value of fixed tilt angle, η is the known value of fixed pan angle and h is the known fixed camera height h; and x I,i , y I,i  are the respective co-ordinates of two of the points in the imager.

TECHNICAL FIELD OF INVENTION

This disclosure generally relates to a method of determining the roll angle of a camera mounted on a host vehicle, and in particular to the calibration and determination of the camera roll angle, and can be used in Advanced Driver Assisted Systems.

BACKGROUND OF INVENTION

It is known to equip vehicles with radar systems and/or cameras systems in order to characterize the environment surrounding a vehicle. Such systems are able to provide detection of objects in the vicinity of the vehicle, in particular in a forward-looking direction. In such systems, processing of image data and/or radar reflection data allows objects in the vicinity of the vehicle to be detected and characterized. Such object identification or detection can be used to detect static objects such as guardrails, walls, trees, boundaries, posts or stationary vehicles for example, or moving objects such as other vehicles or pedestrians. In such Advanced Driver Assisted Systems (ADAS systems) both cameras mounted on the vehicle and/or antenna arrays may be used to detect/identify and characterize such objects

Although methods are known for camera pan and tilt angle estimation as well as for camera height calibration and auto-calibration; prior art methods have tended to ignore the roll angle of the camera which had to be assumed negligible.

Recently there has been a survey about an Optical Flow based method of camera angle estimation which includes roll (Westerhoff, J., Lessmann, S. et al.: Development and Comparison of Homography based Estimation Techniques for Camera to Road Surface Orientation, 2016 IEEE IV Symposium, Gotenburg). However, since Optical Flow calculations are expensive in terms of computational power, this may not be convenient for low-cost embedded systems so there is still need for some simple roll estimation method.

As long as camera auto-calibration is performed for passenger cars only, this might not pose a major problem. Passenger cars are not expected to carry large loads which may change drastically over a working day thus affecting the roll or tilt (sideways). But for trucks which may service a number of customer locations over the day, loading and unloading freight may affect the tilt and thus roll perspective. Change in uneven freight weight clearly changes forces on the truck's suspension system thus all camera angles (including roll) change.

Moreover, as OEM expectations of vision algorithm precision increase with every new camera generation, the assumption of negligible roll angle may not even hold for passenger cars any longer. A camera which relies on a constant roll angle in its auto-calibration is at risk of reduced performance or malfunction. For example, current Lane Detection algorithms detect not only the ego lane but also neighboring lanes. These are of course at larger distances from the vehicle so roll angle inaccuracies introduce errors which are no longer negligible.

The suspension system of a truck can affect camera roll by itself in a dynamical manner. Pneumatic springs can be regulated up to +/−20 cm in height to compensate for heavy freight load (which in turn affects the height, too), or to improve driving comfort on bad conditioned ground. The latter can happen even in mid-drive, not only at loading stops.

The problem of camera roll angle calibration for truck now becomes important since the EU regulation 351/2012 LDWS requires in future all commercial trucks in the EU to be equipped with a Lane Departure Warning system and an Emergency Automatic Brake System. For camera based systems of this kind this clearly needs for increased precision in calibration, including camera roll angle.

SUMMARY OF THE INVENTION

Described herein is a method of determining (estimating) the roll angle of a camera mounted on a vehicle, which not use onerous processing powers.

In one aspect is provided a method of determining the roll angle of a camera mounted on a host vehicle comprising: defining Cartesian axes in the real world and corresponding axes in said camera imager, from an image taken from said camera, determining the co-ordinates of the two points (P1, P2) of the real world, in the imager of the camera ((x I,1, y I,1), (x I,2, y I,2)), determining the difference (D) in the coordinates of said points in a horizontal World plane in one axis (Xw,1−Xw,2), using corresponding co-ordinate system as in step b), determining the roll angle ρ of a camera located on a host vehicle from the following formula:

ρ=[D/h(c ₂ /a ₂ −c ₁ a ₁)]/[(a ₂ d ₂ −b ₂ c ₂)/a ₂ ²−(a ₁ d ₁ −b ₁ c ₁)/a ₁ ²],

where a₁ and a₂ are found from the following, where i=1,2 represents the two points (P1,P2):

a _(i)=sin θ*f+cos θ*y _(I,i)

bi=−cos θ*xI,i

ci=−cos η cos θ*f+sin η*xI,i+cos η sin θ*yI,i

di=−cos η sin θ*xI,i+sin η*yI,i

where for θ is the known value of fixed tilt angle, η is the known value of fixed pan angle and h is the known fixed camera height h; and x_(I,i), y_(I,i) are the respective co-ordinates of two said points in the imager.

In step a) the axes may be defined as a X-axis which is in the direction of travel or the orientation of the vehicle forwards and the Y axis is perpendicular to the X axis.

Step c) may be performed using data from the known co-ordinate position of the two points in the real World.

Said points may be the end points of a lane marking, said lane marking being of pre-determined length (L), and determining the value of said difference D from the lane marking length and the known orientation of the camera and/or vehicle angle to the lane marking.

Further features and advantages will appear more clearly on a reading of the following detailed description of the preferred embodiment, which is given by way of non-limiting example only and with reference to the accompanying drawings.

BRIEF DESCRIPTION OF DRAWINGS

The present invention is now described by way of example with reference to the accompanying drawings in which:

FIG. 1 shows a schematic view of view of a camera imager;

FIG. 2 shows the projection of a fixed point rotates in the imager plane around the optical axis;

FIG. 3a shows two points in horizontal World plane;

FIG. 3b shows the two points of FIG. 3a in an imager;

FIG. 4 shows a representation similar to FIG. 3 a;

FIGS. 5, 6, and 7 show results of the methodology.

DETAILED DESCRIPTION

Reference will now be made in detail to embodiments, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the various described embodiments. However, it will be apparent to one of ordinary skill in the art that the various described embodiments may be practiced without these specific details. In other instances, well-known methods, procedures, components, circuits, and networks have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.

‘One or more’ includes a function being performed by one element, a function being performed by more than one element, e.g., in a distributed fashion, several functions being performed by one element, several functions being performed by several elements, or any combination of the above.

It will also be understood that, although the terms first, second, etc. are, in some instances, used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first contact could be termed a second contact, and, similarly, a second contact could be termed a first contact, without departing from the scope of the various described embodiments. The first contact and the second contact are both contacts, but they are not the same contact.

The terminology used in the description of the various described embodiments herein is for describing embodiments only and is not intended to be limiting. As used in the description of the various described embodiments and the appended claims, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and/or” as used herein refers to and encompasses all possible combinations of one or more of the associated listed items. It will be further understood that the terms “includes,” “including,” “comprises,” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

As used herein, the term “if” is, optionally, construed to mean “when” or “upon” or “in response to determining” or “in response to detecting,” depending on the context. Similarly, the phrase “if it is determined” or “if [a stated condition or event] is detected” is, optionally, construed to mean “upon determining” or “in response to determining” or “upon detecting [the stated condition or event]” or “in response to detecting [the stated condition or event],” depending on the context.

The current inventor has determined a relatively simple formula for overcoming the problem of camera roll angle auto-calibration and determination (e.g. for a driver assistance system). The formulation is based on a combination of Inverse Perspective Mapping, a linearization and Taylor expansion. As a result, the problem of measuring the roll angle can determined from two points on the world ground plane, and so can be determined from appropriate measurement of distance/markers on the world ground plane.

The distance measurement on the ground plane may be performed by detection of dashed or otherwise intermittent lane markers present on the road the vehicle drives on. Auto-correlation of measured rectangular signals from intermittent lane markers is used to estimate the distance between world points.

A linearized/Taylor approximated equation then yields the camera height from the world point distance.

Derivation of the Methodology

Inverse perspective mapping has been used before as an approach to derive image processing methods (see, for example, Mallot, H. A., Biilthoff, H. H., Little, J. J., Bohrer, S.: Inverse Perspective Mapping Simplifies Optical Flow Computation and Obstacle Detection, in: Biological Cybernetics 64 (1991) pp. 177-185). Using the terminology from the cited paper, let O be the origin of three-dimensional space, with a camera imager placed at normal distance f and a ground plane placed at a normal height z=−h below the origin as depicted in FIG. 1. In such a configuration, O is obviously the location of the camera lens center, and the normal on the imager plane through O is the optical axis.

Let further be the co-lineation which projects the space onto the imager, and the co-lineation which projects the space on the ground.

FIG. 1 shows a schematic view of view of a camera imager, the camera which may be mounted on a vehicle at height (−h) from the ground plane. Both the imager and corresponding image is shown with reference numeral 1. The ground plane 2 represents the real word, hence this effectively the horizontal ground plane of the environment in plan view.

Then, for a point (xI,yI) given in an orthonormal imager coordinate system, and a point (xW,yW) given in an orthonormal world coordinate system, and a basis transformation matrix (qij)i,j=1,2,3 between the two orthonormal bases, if the imager point is projected onto the world point, it holds

(x _(W) ,y _(W))==

⁻¹°

(x _(I) ,y _(I))=−h/[q ₃₁ x _(I) +q ₃₂ y _(I) −q ₃₃ f]·(q ₁₁ x _(I) +q ₁₂ y _(I) −q ₁₃ f,q ₁₁ x _(I) +q ₁₂ y _(I) −q ₁₃ f)

The roll angle ρ is buried deep inside the matrix coefficients q_(ij) together with the other angles. A convenient simplification is needed to extract ρ.

With reference to FIG. 2 if it is observed what happens if a fixed point (xI,yI) rotates in the imager plane around the optical axis. (That is exactly what camera roll means.) The curve described by the point in the imager plane obviously is a circle 3.

Since any projection is a straight line from imager point (xI,yI) to world point (xW,yW) through the origin, on rotation around the optical axis, the straight line describes a cone. The intersection of cone and the ground plane obviously is the one of the classical cone sections, i.e., an ellipse, parabola or hyperbola.

In practical situations, camera roll angles are small, a few degrees in either direction from zero. So it may be convenient to approximate sin ρ≈ρ, cos ρ≈1. Algebraic this is equivalent to a linearization of the rotation matrix. Doing so, all expressions inside the coefficients qij can be resolved now and we yield from the equation above

xw=−h(c+dρ)/(a+bρ)

yw=−h(r+sΣ)/(a+bρ),

where for fixed tilt angle θ, fixed pan angle η and fixed camera height h the new coefficients are given by:

a=sin θ*f+cos θ*y _(i)

b=−cos θ*xi

c=−cos η cos θ*f+sin η*xi+cos η sin θ*yi

d=−cos η sin θ*xi+sin η*yi

r=sin η cos θ*f+cos η*xi−sin θ sin η*yi

s=sin θ sin η*xi+cos η*yi

where x_(i) and y_(i) are the co-ordinates in the imager of the point (xw,yw) in World co-ordinates, having corresponding axes, which are all constants here. Since the desired value p is still enclosed in a rational linear polynomial in ρ, we do a further linearization by a Taylor expansion in ρ:

X _(w) =−h(c+dρ)/(a+bρ)=−h c/a+−h(ad−bc)/a ² *ρ+O(ρ²)

Y _(w) =−h(r+sρ)/(a+bρ)=−h r/a+−h(as−br)/a ² *ρ+O(ρ²),

where the O(ρ2) can be neglected for small values σf p. The numerical values of xw and w are now in a linear relation to ρ.

Since it is more convenient in an algorithm to use world distance measures rather than absolute world coordinates, the equation above can be brought in an appropriate form. For two world point x coordinates denoted X_(w,1) and X_(w,2) we can do the following:

X _(w,1) =−hc ₁ /a ₁ +−h(a ₁ d ₁ −b ₁ c ₁)/a ₁ ²*ρ

X _(w,2) =−hc ₂ /a ₂ +−h(a ₂ d ₂ −b ₂ c ₂)/a ₂ ²*ρ.

The difference of the x coordinates (in the World plane) gives the x distance:

D=−hc ₁ /a ₁ −h(a ₁ d ₁ −b ₁ c ₁)/a ₁ ² *ρ+hc ₂ /a ₂ +h(a ₂ d ₂ −b ₂ c ₂)/a ₂ ²*ρ,

which can be resolved for ρ:

ρ=[D/h−(c ₂ /a ₂ −c ₁ /a ₁)]/[(a ₂ d ₂ −b ₂ c ₂)/a ₂ ²−(a ₁ d ₁ −b ₁ c ₁)/a ₁ ²].

Worked Example

FIG. 3a shows two points on a plan view (horizontal plane) on the ground and thus in a World co-ordinate system, thus equivalent to reference numeral 2 of FIGS. 1 and 2. The figure shows two points P1 and P2; the two points are joined by a line 6. The points may be for example, the ends of a lane marker e.g. white strip painted on a road surface, and so the line may represent the lane marker. Point P1 has co-ordinates designated X_(w,1), Y_(w,1), and point 2 has co-ordinates designated X_(w,2), Y_(w,2), the capitals and the designation “w” indicating point in the World co-ordinate system. The figure shows the location of a host vehicle 4 with camera 5. The camera can take images of the real world as described with reference to FIGS. 1 and 2. It is to be noted that axes are marked as shown, where X axis is defined as the direction of the lane/car movement, Y perpendicular to the lane/car movement (sideways), as is conventional in ADAS systems. Of course, examples of the invention are applicable to other or indeed any co-ordinate and axis systems. The important thing is that the image and world axes correspond to each other.

FIG. 3b shows the co-ordinates of these respective points on the imager of a camera mounted on a car relative to the origin, which may be the center of the imager. The origin is as defined above, and so line from a ground point that is parallel to the camera orientation (tilt, and pan) would be incident on the origin. The position of the points P1 and P2 on the imager are x I,1, y I,1 and x I,2, y I,2 respectively. The axes in the imager correspond to the axes in the real world.

Step 1

Two points P1 and P2 in the real word are detected on an imager. The points in the real world have real world co-ordinates (XW1,YW1) and (XW2,YW2) respectively. The position of the points on the imager are (xI1, yI1) and (xI2, yI,2) respectively and these latter co-ordinates are used as inputs in the methodology.

Step 2

The inputs to the method also include the tilt and pan angle of the camera and also camera height. Thus, it is assumed these are known and that they have been calibrated correctly. There are several known techniques for doing this as described e.g. in the Applicants co-pending application European Patent Application EP 15 151 429.6.

Step 3

A further input is the difference in X co-ordinates in the real world of the two points, which is designated D. In FIG. 3a this is shown as D which is the length of the line marker. However here the lane marker is parallel to the direction orientation of the vehicle.t is to be noted than as seen in FIG. 4, which is similar to FIG. 3a with like reference numerals, the line joining the point in the real world may not be parallel to the X axis; in this case the difference between the X coordinates D is a shown.

In some examples the actual real world co-ordinates of the two points (XW1,YW1) and (XW2,YW2) respectively may be known or determined from other well-known techniques. The value of D can therefore be calculated as (Xw1−Xw2).

Alternatively, the value of D may be calculated or determined otherwise. It may be that the points P1 and P2 represents the ends of lane markers, and these have a standard length. Where the car is orientated in the example of FIG. 3a , parallel to the X axis, then the value of D is the same as the length of the line marker. Thus, the exact co-ordinates do not need to be known. If the orientation of the vehicle/camera relative to the line marker is known and the length L of the lane marker is known, then the value of D (difference in the Y co-ordinate values) can be determined (se FIG. 4).

Step 4

With the known tilt/pan angles and the coordinates of the image points where the measurements were performed, the set of coefficients a_(i), b_(i), c_(i), d_(i), assigned to each of the two points Pi where i=1,2 are calculated from the equations listed above. So, in other words a₁, b₁, c₁, d₁, and a₂, b₂, c₂ d₂ are calculated form the following equation:

a _(i)=sin θ*f+cos θ*y _(I,i)

bi=−cos θ*xI,i

ci=−cos η cos θ*f+sin η*xI,i+cos η sin θ*yI,i

di=−cos η sin θ*xI,i+sin η*yI,i

where i=1 and 2.

Using the known camera height and the measured world distances, the roll angle is calculated by the equation:

ρ=[D/h−(c ₂ /a ₂ −c ₁ /a ₁)]/[(a ₂ d ₂ −b ₂ c ₂)/a ₂ ²−(a ₁ d ₁ −b ₁ c ₁)/a ₁ ²].

Regarding the raw data for input into the methodology it is only required that the real world distance between two points is estimated or known in the X axis. Thus, although estimation/determination of two world points may be used, only the distance between them in the X-direction is required. Thus if road markings such as straight white lines have a standard length then this length can be used, if it is assumed the host vehicle is oriented parallel to the road markings, which would be the case when travelling along a straight road, particularly if the calculations were averaged. In this case the world co-ordinates do not need to be known. So, it is to be noted that in the above example the distance of the world points is needed only in X axis direction; i.e. the distance between the two points is given relative to the X direction. The invention is not limited to this; the distance D can be determined for any axis or any orientation of the axis in the real world as long as the axis of the imager corresponds to this.

Other

Distance measurements in World co-ordinates may be performed by any appropriate method as mentioned such as described in the Applicants co-pending European Patent Application EP 15 151 429.6 which describes camera height calibration In fact it would be very efficient to combine the presented method with the camera height calibration. After camera height has been successfully estimated, the measured and stored distance measures can be reused to estimate camera roll angle at nearly no additional cost. However, the roll angle calibration also can be used stand-alone if proper distance measures are used, e.g., the autocorrelation technique used in the above referenced EP Patent application. If roll angle calibration is to be performed as an independent step, world distance measures can be performed by similar technique like described in the applicants co-pending application, i.e., detection of “rectangular” brightness signals in multiple fixed scan-lines, autocorrelation of the signals to get timing information which can be converted to distance by comparing to speed. Other ways of distance measure are possible.

Statistical filtering of measures may be used to improve robustness of method: statistical filtering of roll angle estimations may be performed to make the method more robust. If the filtering of the roll angle results shows a predefined precision condition is met, the algorithm stops (exit condition). If the exit condition is not yet met, the algorithm loops back to the next distance measurement (or, evaluation of stored data in case of measurement reuse from previous height calibration).

Tests

Matlab tests were performed to assure that the linearization and the Taylor expansion used to estimate p do not introduce errors which can't be neglected. The test incorporated for a fixed world and image point the cone section produced by a full 360° roll, the (linearized) tangent on it and the Taylor approximation of the tangent. Comparison of the Matlab graphs show that x distance measurement points at constant y offset left or right of the center yields the best approximation.

FIG. 5 shows the projection of image point, giving true roll curve 6, at imager coordinates (−200, 50 degrees) to World ground plane for full 360 degrees camera roll with a tilt of −17 degrees, yaw 1 degree and height h of −2.1 m. The linear “roll” sin/cos approx. is shown by reference numeral 7; reference numeral 8 shows the linear Taylor series which is approximately generally co-incident with 7. Point 9 gives the intersection of the optical axis, and 10 is the projected point with 0-degree roll.

FIG. 6 shows an enlarged (detailed) view of a portion of the FIG. 5. Points 11 shows true variation of world point for +/−2.8 degree roll angle and the estimated ones using the above methodology (via linearization and Taylor expansion) is shown by reference numerals 12. Other reference numeral are the same for FIG. 5.

FIG. 7 shows the projection of image point, giving roll curve, at imager co-ordinates (−250,190 degrees) to World ground plane for full 360 degrees camera roll with a tilt pf −17 degrees, yaw 1 degree and height h of −2.1 m. The reference numerals are as with FIG. 5. As the figure shows, the method is not restricted to elliptical cone sections but also works for parabolas and hyperbolas.

While this invention has been described in terms of the preferred embodiments thereof, it is not intended to be so limited, but rather only to the extent set forth in the claims that follow. 

We claim:
 1. A method of determining the roll angle of a camera mounted on a host vehicle comprising: a) defining Cartesian axes in the real world and corresponding axes in said camera imager; b) from an image taken from said camera, determining the co-ordinates of the two points (P1, P2) of the real world, in the imager of the camera ((x I,1, y I,1) (x I,2, y I,2)); c) determining the difference (D) in the coordinates of said points in a horizontal World plane in one axis (Xw,1−Xw,2), using corresponding co-ordinate system as in step b); and d) determining the roll angle ρ of a camera located on a host vehicle from the following formula: ρ=[D/h−(c ₂ /a ₂ −c ₁ /a ₁)]/[(a ₂ d ₂ −b ₂ c ₂)/a ₂ ²−(a ₁ d ₁ −b ₁ c ₁)/a ₁ ²], where a₁ and a₂ are found from the following, where i=1,2 represents the two points (P1,P2): a _(i)=sin θ*f+cos θ*y _(I,i), bi=−cos θ*xI,I, ci=−cos η cos θ*f+sin η*xI,i+cos η sin θ*yI,I, and di=−cos η sin θ*xI,i+sin η*yI,I, where for θ is the known value of fixed tilt angle, η is the known value of fixed pan angle and h is the known fixed camera height h, and x_(I,i), y_(I,i) are the respective co-ordinates of two said points in the imager.
 2. A method as claimed in claim 1 wherein in step a) the axes are defined as a X-axis which is in the direction of travel or the orientation of the vehicle forwards and the Y axis is perpendicular to the X axis.
 3. A method as claimed in claim 1 where step c) is performed using data from the known co-ordinate position of the two points in the real World.
 4. A method as claimed in claim 1 where said points are the end points of a lane marking, said lane marking being of pre-determined length (L), and determining the value of said difference (D) from the lane marking length and the known orientation of the camera and/or vehicle angle to the lane marking. 